#include "govcn.h"

#include <httpclient.h>

GovCN::GovCN() {}

QString GovCN::name()
{
    return "国务院政策文件库 - 搜索";
}

QString GovCN::prefix()
{
    return "https://sousuo.www.gov.cn/zcwjk/policyDocumentLibrary?t=zhengcelibrary&q=";
}

QStringList GovCN::searching(const QString &text)
{
    // TODO: 搜索结果
    Request req("https://sousuo.www.gov.cn/search-gov/data");
    req.addQuery("t","zhengcelibrary_gw");  // 主题
    req.addQuery("q","");                   // 查询关键词
    req.addQuery("timetype","timeqb");      // 时间类型
    req.addQuery("mintime","");             // 最小时间
    req.addQuery("maxtime","");             // 最大时间
    req.addQuery("sort","score");           // 排序字段
    req.addQuery("sortType","1");           // 排序方式
    req.addQuery("searchfield","title");    // 搜索字段
    req.addQuery("pcodeJiguan","国发");       // 机关编码(国令,国发,国函,国发明电,国办发,国办函,国办发明电,其他)
    // 替换项: req.addQuery("bmfl","");   // 部门分类(外交部,国家发展和改革委员会,教育部,科学技术部,工业和信息化部,国家民族事务委员会,公安部,国家安全部,民政部,司法部,财政部,人力资源和社会保障部,自然资源部,生态环境部,住房和城乡建设部,交通运输部,水利部,农业农村部,商务部,文化和旅游部,国家卫生健康委员会,退役军人事务部,应急管理部,中国人民银行,审计署,国家语言文字工作委员会,国家航天局,国家原子能机构,国家核安全局,国家乡村振兴局,国务院国有资产监督管理委员会,海关总署,国家税务总局,国家市场监督管理总局,国家金融监督管理总局,中国证券监督管理委员会,国家广播电视总局,国家体育总局,国家信访局,国家统计局,国家知识产权局,国家国际发展合作署,国家医疗保障局,国家机关事务管理局,国家认证认可监督管理委员会,国家标准化管理委员会,国家新闻出版署,国家版权局,国家宗教事务局,国务院台湾事务办公室,国家互联网信息办公室,中国科学院,中国社会科学院,中国工程院,中国气象局,国家粮食和物资储备局,国家能源局,国家数据局,国家国防科技工业局,国家烟草专卖局,国家移民管理局,国家林业和草原局,国家铁路局,中国民用航空局,国家邮政局,国家文物局,国家中医药管理局,国家疾病预防控制局,国家矿山安全监察局,国家消防救援局,国家外汇管理局,国家药品监督管理局,国家公务员局,国家档案局,国家保密局,国家密码管理局,国家电影局)
    req.addQuery("childtype","");           // 子类型
    req.addQuery("tsbq","");                // 特殊标识
    req.addQuery("pubtimeyear","");         // 出版年份
    req.addQuery("puborg","");              // 出版机构
    req.addQuery("pcodeYear","");           // 年份编码
    req.addQuery("pcodeNum","");            // 编号编码
    req.addQuery("filetype","");            // 文件类型
    req.addQuery("p","3");                  // 当前页码
    req.addQuery("n","5");                  // 每页显示数量
    req.addQuery("inpro","");               // 是否包含项目
    req.addQuery("dup","");                 // 是否去重
    req.addQuery("orpro","");               // 是否包含项目
    req.addQuery("type","gwyzcwjk");        // 类型

    return QStringList();
}

QString GovCN::content(const QString &text)
{
    return prefix() + text;
}
